The invention relates to data partitioning in the field of digital multimedia communications. More particularly, the invention relates to a data partitioning method that improves error resilience, e.g., when applied to the entropy coding/decoding of hierarchical subband decomposed coefficients, e.g., wavelet transform coefficients.
In the field of digital multimedia communications, data streams carrying video, audio, timing and control data are packaged into various xe2x80x9cpacketsxe2x80x9d. Generally, a packet is a group of binary digits that include data and control elements which are switched and transmitted as a composite whole. The data, control elements and other information are arranged in various specific formats.
Examples of such formats are disclosed in various international Standards. These standards include, but are not limited to, the Moving Picture Experts Group Standards (e.g., MPEG-1 (11172-*), MPEG-2 (13818-*) and MPEG-4 (14496-*)), H.261 and H.263. For example, MPEG defines a packet as consisting of a header followed by a number of contiguous bytes (payload) from an xe2x80x9celementary data streamxe2x80x9d. An elementary stream is simply a generic term for one of the coded video, coded audio or other coded bitstreams. More specifically, an MPEG-2 xe2x80x9ctransport streamxe2x80x9d packet comprises a header, which may be four (4) or more bytes long with a payload having a maximum length of 184 bytes. Transport stream packets are part of one or more programs that are assembled into a transport stream. The transport stream is then transmitted over a channel with a particular transfer rate.
However, transmission of packets over a noisy communication channel, e.g., wireless communication, may cause corruption in the packets received by a receiver/decoder. Since some data streams or bitstreams carry compressed data that are correlated in a manner such that partial loss of a packet may cause the receiver/decoder to discard the entire packet. Namely, compression methods are useful for representing information as accurately as possible with a minimum number of bits and thus minimizing the amount of data that must be stored or transmitted.
For example, to further increase compression efficiency, some compression methods employ xe2x80x9csignificance-basedxe2x80x9d information, e.g., a significance map-value model, to indicate to a receiver/decoder the significance of the transmitted information or absence of transmitted information. The xe2x80x9csignificance-basedxe2x80x9d information is often previously defined, e.g., using symbols, such that the receiver/decoder is able to decipher additional information from the transmitted information. However, the loss of compressed data such as xe2x80x9csignificance-basedxe2x80x9dinformation often results in substantial errors when a receiver/decoder attempts to decompress or decode the corrupted data.
Second, another compression technique involves the use of entropy encoders, e.g., arithmetic and/or variable-length coder (VLC), that encodes a symbol in accordance with the symbol""s probability density. Namely, the encoder will generally assign a shorter code word for a symbol that has a higher probability density, whereas a longer code word is assigned for a symbol that has a lower probability density, thereby reducing the total number of coding bits that are necessary to encode a data stream. Unfortunately, a corrupted packet that carries entropy encoded data may often go undetected until the entire packet is decoded. In fact, once the error is detected, the entire packet is often discarded, since one characteristics of an arithmetic encoder/decoding system is that every decoded symbol is treated as a valid symbol. Since errors are often detected from other symptoms, e.g., misalignment of the packets and so on, the decoder is often unable to distinguish where the error lies in the corrupted packet.
Additionally, another compression techniques involves the transformation of an input image into transform coefficients using hierarchical subband decomposition. For example, a useful compression technique appears in the Proceedings of the International Conference on Acoustics, Speech and Signal Processing, San Francisco, Calif. March 1992, volume IV, pages 657-660, where there is disclosed a signal compression system which applies a hierarchical subband decomposition, or wavelet transform, followed by the hierarchical successive approximation entropy-coded quantizer. A wavelet pyramid, also known as critically sampled quadrature-mirror filter (QMF) subband representation, is a specific type of multiresolution hierarchical subband representation of an image.
More specifically, in a hierarchical subband system, with the exception of the highest frequency subbands, every coefficient at a given scale can be related to a set of coefficients at the next finer scale of similar orientation according to a structure called a wavelet tree. The coefficients at the coarsest scale will be called the parent nodes, and all coefficients corresponding to the same spatial or temporal location at the next finer scale of similar orientation will be called child nodes.
A typical method of coding these transform coefficients is in xe2x80x9ctree depth scan order as shown in FIG. 1, where an image is decomposed into three levels of resolution. Specifically, the wavelet coefficients are coded in tree blocks fashion, where each tree block is represented by three separate xe2x80x9ctexture unitsxe2x80x9d shown with different shadings. Each texture unit is representative of a tree structure starting from the lowest or coarsest AC band to the highest or finest AC band coefficients.
In real life operation, one or more texture units may be corrupted or lost when transmitted over a noisy channel. The loss of these texture units or texture packets often results in noticeable errors in the decoded image.
Therefore, there is a need in the art for an apparatus and method for data partitioning that improves error resilience, e.g., when applied to the entropy coding/decoding of hierarchical subband decomposed coefficients, e.g., wavelet transform coefficients.
The present invention is an apparatus and a method for partitioning data to improve error resilience, e.g., in a coding/decoding system that employs entropy coding. Specifically, one or more segment markers (symbols) are entropy encoded along with the bitstream (payload) into a packet.
The placement of the segment marker into the packet is dependent upon whether the encoding of a number of xe2x80x9csub-unitsxe2x80x9d have exceeded a xe2x80x9ctarget segment lengthxe2x80x9d. Namely, a segment marker is encoded into the packet at an approximate interval that is defined to be greater than or equal to the target segment length.
Additionally, the placement of the segment marker into the packet is also limited to being located at a juncture between two encoded xe2x80x9csub-unitsxe2x80x9d. A sub-unit is defined as a logical coding sub-unit of a texture unit that is being encoded into the packet. Since texture units can be defined in a number of different manners, the present invention also presents a number of sub-units having different defined structures. One advantage in such limiting of the placement of a segment marker to be between sub-units is that it provides an easily identifiable point for the decoder to start searching for the segment marker.
Once the segment markers are encoded as described, the decoder can now readily determine if a current packet is corrupted. Namely, if the decoder is able to decode an uncorrupted segment marker as anticipated in the packet, then all the bits up to the point of the segment marker are considered also to be uncorrupted.
However, if the decoder is unable to decode a segment marker as anticipated in the packet, then all the bits from a prior decoded segment marker up to the point of the corrupted or missing segment marker must be corrupted to some extent. This set of identified bits in the packet are then discarded as corrupted bits, i.e., the bits starting from the last correctly decoded segment marker/packet header to the end of the packet are discarded. However, instead of discarding the entire packet as known in the prior art, only a portion of the packet is now discarded, thereby improving error resilience.
The present invention provides several advantages. First, the use of an encoded segment marker reduces the amount of overhead, i.e., shorter code word, when compared to other packet markers such as adding additional Resynch markers. Second, no extra information is needed in the packet header to communicate the existence of the segment marker. Third, reinitialization of the entropy encoder is not required.